Secure Composition of Untrusted Code: Box π, Wrappers, and Causality Types
نویسندگان
چکیده
Software systems are becoming heterogeneous: instead of a small number of large programs from well-established sources, a user’s desktop may now consist of many smaller components that interact in intricate ways. Some components will be downloaded from the network from sources that are only partially trusted. A user would like to know that a number of security properties hold, e.g. that personal data is not leaked to the net, but it is typically infeasible to verify that such components are well-behaved. Instead, they must be executed in a secure environment that provides fine-grain control of the allowable interactions between them, and between components and other system resources. In this paper, we consider the problem of assembling concurrent software systems from untrusted or partially trusted off-the-shelf components, using wrapper programs to encapsulate components and enforce security policies. We introduce a model programming language, the box-π calculus, that supports composition of software components and the enforcement of information flow security policies. Several example wrappers are expressed using the calculus; we explore the delicate security properties they guarantee. We present a novel causal type system that statically captures the allowed flows between wrapped possibly-badly-typed components; we use it to prove that an example ordered pipeline wrapper enforces a causal flow property. Correspondence Address Peter Sewell University of Cambridge Computer Laboratory JJ Thomson Avenue Cambridge CB3 0FD UK [email protected] Tel: +44 1223 33 46 24, fax: +44 1223 33 46 78.
منابع مشابه
Secure Composition of Untrusted Code: Wrappers and Causality Types
We consider the problem of assembling concurrent software systems from untrusted or partially trusted oo-the-shelf components, using wrapper programs to encapsulate components and enforce security policies. In previous work we introduced the box-process calculus with constrained interaction to express wrappers and discussed the rigorous formulation of their security properties. This paper addre...
متن کاملSe ure Composition of Untrusted Code: Wrappers and Causality Types
We onsider the problem of assembling on urrent software systems from untrusted or partially trusted off-theshelf omponents, using wrapper programs to en apsulate omponents and enfor e se urity poli ies. In previous work we introdu ed the boxpro ess al ulus with onstrained intera tion to express wrappers and dis ussed the rigorous formulation of their se urity properties. This paper addresses th...
متن کاملPerformance Study of Untrusted Relay Network Utilizing Cooperative Jammer
Abstract—In this paper, the problem of secure transmission in two-hop amplify-and-forward (AF) systems with an untrusted relay is investigated. To prevent the untrusted relay from intercepting the source message and to achieve positive secrecy rate, the destination-based cooperative jamming (DBCJ) technique is used. In this method the destination sends an intended jamming signal to the relay. T...
متن کاملSecure Execution of Untrusted Code
We introduce CS50 Sandbox, an environment for secure execution of untrusted code. Implemented as an asynchronous HTTP server, CS50 Sandbox offers clients the ability to execute programs (both interactive and non-interactive) written in any compiled or interpreted language in a tightly controlled, resource-constrained environment. CS50 Sandbox’s HTTP-based API takes files, command lines, and sta...
متن کاملProblems Running Untrusted Services as Java Threads
A number of Java environments run untrusted services as Java threads. However, Java threads may not be suitably secure for this task because of its problem with safe termination, resource control and thread isolation. These problem areas have been recognised by the research community and are comprehensively addressed in the not yet implemented Java Isolate API. Meanwhile, Java threads continue ...
متن کامل